This invention relates to the field of electronic design automation of Very Large Integrated Circuits (VLSI) and more particularly, to a method and a system for validating initial conditions and correcting inconsistencies thereof, the initial conditions being used in the simulation of circuits.
Most if not all prior art circuit simulators allow a user to specify initial conditions (IC), usually in the form of a voltage at a specified node. The initial conditions are enforced during the DC portion of the simulation in which a DC operation point is established. In many applications, the user has no real way of determining ahead of time whether an IC is valid or not or whether a collection of ICs is self-consistent. Thus, the user may provide a set of ICs, of which a subset of which may be either unreasonable or collectively inconsistent. It is common for circuit simulators to handle inconsistent ICs in such a way as to allow a successful simulation despite the inconsistencies, but sometimes at the expense of result accuracy. For many applications, it would be useful if the simulator could detect inconsistent ICs and take corrective or informative action to allow the user to remove the inconsistencies. It is desirable, at the very least, to notify the user and optionally take some corrective action or, alternatively, to have the simulator do so automatically without user intervention.
In order to achieve a better understanding of the existing problem, and gain an appreciation of the basic methods used to set ICs, an overview of how node-voltage ICs are usually applied will be shown hereinafter.
Referring to FIGS. 1A and 1B, there is shown in the former a Norton equivalent circuit used to hold a node N at a voltage Vn. Practitioners of the art will readily appreciate that the actual sources may be replaced on a loop basis by an equivalent set of voltage sources in the links or loops of the network, and on a node basis, by an equivalent set of current sources bridging branches or node pairs of the network illustrated in FIG. 1B. Which set of sources is used depends on whether the loop or node-voltage methods are selected. The term ‘equivalent’ implies that one will obtain the same voltages and/or currents throughout the network as those resulting from the original sources present (which may be a mixture of voltages and current sources). If one were interested in computing the correct values of voltages and currents solely in a restricted portion of the network, it would be possible to replace the original sources of excitation by a single ‘equivalent voltage source’ or by a single ‘equivalent current source’ acting at an appropriate point. The two specialized processes, which are respectively pertinent to the loop and node perspectives, are known in the art as Thevenin's and Norton's equivalent circuits, and are schematically represented in the aforementioned figures. Thus, when the user specifies an IC voltage at node N, hereinafter referred to as Vic, there exists two ways in which it is commonly used by a simulator, namely by the effective application of the aforementioned Thevenin or Norton equivalent circuits.
In the first approach, using a Norton equivalent circuit, one alters the internal mathematical representation of the circuit to be simulated in a manner equivalent to adding the circuit elements of the Norton circuit of FIG. 1A. In the second approach, using a Thevenin circuit, shown in FIG. 1B, one modifies the internal mathematical representation of the user-specified circuit by effectively adding the elements of the Thevenin circuit of FIG. 1B, which determines the current lic at node N. The Thevenin resistance R is often assumed to be 0 thus forcing the voltage Vn at the node that is to be initialized, to equal Vic. Setting the Thevenin resistance to 0 is done for efficiency purposes to eliminate introducing a new node in the circuit, thereby modifying the topology of the matrix. Since the Norton model does not suffer from this liability, it is sometimes deemed preferable over the Thevenin model. Although both approaches have their own advantages and drawbacks, both can achieve the same goal when properly implemented.
It should be recognized that the circuits used to effectively apply ICs are not limited to the simple ones depicted in FIGS. 1A and 1B. Any circuit having the same effect of forcing the node of interest N to the desired voltage Vic could be used for that purpose.
In the following discussions, except where otherwise noted, ‘simulation’ refers to the ‘DC portion of the simulation.